package com.idealighter.game.games.doudizhu.struct;

import com.idealighter.game.core.common.Game;
import com.idealighter.game.games.common.AbstractRoom;
import com.idealighter.game.games.doudizhu.manager.DouDiZhuDataMgr;
import com.idealighter.game.server.context.ApplicationContext;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

/**
 * 斗地主房间。房间，牌桌，座位之间的包含关系使用的内部类实现.
 * 
 * @date 2015年8月6日 下午4:04:49
 *
 */
public class DouDiZhuRoom extends AbstractRoom {
  // 当前比赛
  public volatile DouDiZhuMatch curMatch = null;
  // 游戏中的比赛
  public List<DouDiZhuMatch> gamingMatchs = new ArrayList<>();

  /**
   * 构造函数.
   * 
   * @param id .
   * @param name .
   */
  public DouDiZhuRoom(int id, String name) {
    super(id, name);
  }

  @Override
  public Game game() {
    return Game.DOU_DI_ZHU;
  }

  @Override
  public DouDiZhuSeat seat(long playerId) {
    return ApplicationContext.getBean(DouDiZhuDataMgr.class).getPlayerSeat(playerId);
  }

  @Override
  public Collection<DouDiZhuTable> tables() {
    throw new UnsupportedOperationException("斗地主房间不支持获取桌子");
  }

}
